package com.zenithmind.document.pojo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Map;

/**
 * 文档详情VO
 * 
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "文档详情VO")
public class DocumentDetailVO extends DocumentVO {

    /**
     * 文档内容
     */
    @Schema(description = "文档内容")
    private String content;

    /**
     * 版本历史
     */
    @Schema(description = "版本历史")
    private List<DocumentVersionVO> versions;

    /**
     * 相关文档
     */
    @Schema(description = "相关文档")
    private List<DocumentVO> relatedDocuments;

    /**
     * 分享信息
     */
    @Schema(description = "分享信息")
    private List<DocumentShareVO> shares;

    /**
     * 权限配置
     */
    @Schema(description = "权限配置")
    private Map<String, Object> permissionConfig;

    /**
     * 扩展属性
     */
    @Schema(description = "扩展属性")
    private Map<String, Object> extraProperties;

    /**
     * 文档统计信息
     */
    @Schema(description = "文档统计信息")
    private DocumentStatisticsVO statistics;

    /**
     * 操作日志
     */
    @Schema(description = "操作日志")
    private List<DocumentOperationLogVO> operationLogs;
}
